Test system for remotely testing switches within a telecommunications network

ABSTRACT

A system for centrally and remotely testing cellular and conventional telecommunications network wherein a controller located at a remote location provides instructions to Remote Call Processor (RCP) to thereby prompt the RCPs to establish a communication link from the RCP through a switch to a destination device whereby audio from said destination device is communicated, by way of the RCP, to the controller in order to verify that the network properly routed and billed the call. The destination device may be a service provided by such network or it may be another RCP.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part application of U.S. patent application Ser. No. 09/799,448 filed Mar. 5, 2001, which was a continuation application of U.S. patent application Ser. No. 09/146,606 filed Sep. 3, 1998, now of U.S. Pat. No. 6,230,006, all of which is hereby incorporated herein by reference.

FIELD OF THE INVENTION

This invention relates generally to a system for testing the operation of a telecommunications network and more specifically to a system for remotely testing one or more switches within a telecommunications network.

BACKGROUND OF THE INVENTION

Telecommunications networks can generally be divided into two components, cellular networks and conventional land-line networks. While the cellular networks support wireless telephone services and the land-line networks support conventional telephone service, the networks and services generally overlap in that a user of a wireless telephone service can place a phone call through the cellular network to the land-line network to thereby establish a telephone link with a conventional telephone, and conversely, a user of a conventional telephone service can place a phone call through the land-line network to the cellular network to thereby establish a phone link with a wireless telephone. Furthermore, in some instances, the cellular network is comprised of communication links that may, at times, be considered part of the land-line network.

There are many cellular networks in place around the United States and the rest of the world. Generally, a cellular network is bounded by a geographic territory. For example, the AT&T cellular network generally services the entire continental United States while the Cellular One cellular network generally services the east coast of the United States. A cellular network is generally comprised of multiple service areas, each of which is subdivided into multiple cells. Each cell has a base station for receiving and transmitting phone calls between a mobile phone and the cell, and the base stations are connected to a switch normally located in a mobile telephone switching office (MTSO). The number of switches required for a service area varies depending on the volume of calls experienced in the service area. Some service areas have only one switch to which all the base stations within the service area are connected; some have multiple switches such that the base stations within the service area are divided between the switches; and some even share a switch with other service areas. The MTSO generally manages the multiple switches in the cellular network and maintains a communications link between the cellular network and the land-line network.

Functionally, when a call is placed by a wireless phone located within a given cell of a service area in the cellular network, the cell base station receives the phone call and forwards it to the service area switch where it is forwarded to the destination device. If the destination device is another wireless phone located in another service area of the same cellular network, the service area switch forwards the phone call to the switch of the destination service area where it is forwarded to the bases station of the destination cell for transmission to the destination wireless phone, thereby establishing a communication link between two wireless phones within the same cellular network. If the destination device is a conventional phone; the MTSO directs the call from the calling service area switch to a switch associated with the land-line network where the call is connected to the conventional phone. If the destination device is a wireless phone located in a different cellular network, the calling service area switch forwards the phone call through the land-line network to the destination cellular network where it is directed through the switch of destination service area to the base station of the destination cell for transmission to the destination phone, thereby establishing a communication link from the calling wireless phone to the destination wireless phone by way of the calling cellular network, the land-line network and the destination cellular network.

One of skill in the art will understand that a phone call initiated by a wireless phone may involve many different switches in many different networks. Generally, the first switch accessed by the caller is the “billing switch” responsible for tracking and recording all the various charges associated with the phone call, including enhanced services. Such charges might include basic charges, in-network roaming charges, out-of-network roaming charges, land-line fees, long distance fees or other cellular network fees as will be appreciated by one of skill in the art. A billing switch that improperly tracks fees associated with a phone call or with any enhanced services provided by the service provider, results in lost revenue to, or over billing by, the service provider. Therefore, it is critical to the service provider that the billing switches consistently and accurately track and record fees.

Generally, a user of a cellular phone will execute a subscription agreement with one or more service providers which allows the user to place calls within the service providers cellular network. The user generally enters subscription agreements with service providers having cellular networks covering the geographic area in which the user normally makes phone calls. For purposes of this description, the service providers with which the user has a subscription agreement will be referred to as “home” service providers. The various service providers have executed agreements whereby a subscriber to a service provider can use the services of other service providers, subject to a fee, and the “home” service provider will appropriately charge the subscriber.

Every wireless phone contains an Electronic Serial Number (ESN) and a Numbered Assignment Modules (NAMs) which together indicate the “home” service providers to which the phone is associated (hereafter the ESN and the NAM will be collectively referred to as the “NAM”). When a wireless phone establishes a phone call, the associated billing switch recognizes the NAM in order to determine whether the phone is communicating with a “home” or “non-home” service provider in order to properly track and allocate fees. Initiating a call within the network of a “home” service provider will be charged differently than initiating a call within the network of a “non-home” service provider. Furthermore, calls initiated within “non-home” service providers will be charged differently depending upon the specific agreement between the non-home service provider and the home service provider.

Each billing switch tracks and records the fees associated with a phone call through use of a “billing table” that is preprogrammed into the switch by the service provider. The billing table recognizes charges associated with each call including any charges for enhanced services (i.e. call waiting) subscribed to by a user. Generally, the switches will be reprogrammed with updated billing tables at various times including whenever a new service area is added or removed from the cellular network; whenever a subscriber is added or deleted from the service provider; whenever the cellular network fees are changed; whenever the agreement between the cellular network and other networks changes. Furthermore, the hardware and or software of a switch may be periodically upgraded (e.g., a base station may be added to the switches' service area or the switch may be reprogrammed with “upgraded” software for bug fixes or feature enhancements). In addition, the switch undergoes maintenance or routing changes that change or effect the interaction between the switches. The upgrades and maintenance sometimes result in errors associated with billing and network operations causing the switch to malfunction as it processes calls. Whenever the switch is reprogrammed, upgraded, or undergoes maintenance, it is critical that the service provider have an efficient means for verifying that the various switches function properly and correctly track and record fees.

When a call is placed, the numerous switches handling the call are responsible for properly routing and billing the call. A switch that is installed, reprogrammed, upgraded, or maintained improperly may result in improperly routed and/or billed calls and thus lost revenue to the service provider. Because switches are being installed in new networks and because switches in existing networks are continuously reprogrammed, upgraded and/or maintained, a system for testing the proper operation of the numerous switches within a telecommunications network, and thus the proper routing and billing of calls to and from such network, is necessary to maintain an efficient network. Presently, there are two such types of systems available to service providers, one made by Rotodata and the other made by Comarco.

The Comarco system includes a testing device that places a wireless call to a service area of a cellular network where such call is routed through the switch associated with the service area to a destination device whereby a communication link is established between the testing device and the destination device. The destination device may be a mobile or land-line phone offering a pre-recorded audio message that is communicated over the established communications link to the user of the testing device where proper operation of the switch may be confirmed. The testing device may also be equipped with multiple phones such that the testing device may establish a communication link from a first one of said phones to a second one of said phones thereby establishing the testing device as the destination device. The testing device must be located “in the field” (e.g., geographically within the service area) so as to be capable of wireless communication with the service area.

One shortfall of the Comarco system is that the testing device is designed to be locally controlled in that setting the parameters of the testing device and/or initiating the test requires a technician to be located “in the field” with the testing device. This limitation also requires that a field technician travel to the various service areas of the cellular network in order to test the numerous switches within the network. Another shortfall of the Comarco System is that the testing device does not have the capability to record audio received from the destination device thereby requiring that a technician be located in the field with the testing device during testing in order for the technician to hear the quality of the audio received at the test device. Yet another shortfall of the Comarco system is that the presence of the technician in the field prevents the technician from accessing the billing records of the call, which are normally located in a central office, and therefore from verifying proper billing simultaneously with the verification of the call. Still yet another shortfall of the Comarco system is that it cannot complete calls from one testing device to a second testing device. A further shortfall of the Comarco system is that it does not enable the user to verify the audio of the placed call in both directions without a technician being present at each end of the call. Yet a further shortfall of the Comarco system is that it cannot interactively control or measure the testing being performed by the testing device.

The Rotodata system includes a testing device that places a wireless call to a service area of a cellular network where such call is routed through the switch associated with the service area to a destination device. Typically, the destination device is a pre-recorded audio message that is communicated to the user of the testing device to confirm proper operation of the switch. Unlike the Comarco system, the Rotodata system has remote control feature that permits operation of multiple testing devices from a remote location.

One shortfall of the Rotodata system is that the remote capability does not permit audio from the testing device to be communicated to the remote control location thereby forcing the user to rely on non-audio information in the call verification process. This limitation prevents the user from remotely verifying whether the audio was received, or the quality of the audio received, at either the testing device or the remote control location and prevents the user from remotely testing services such as 911 emergency service, voice mail, call forwarding, call waiting, no answer transfer and messaging, and any other service that can be verified through an interactive audio process. Accessing the audio requires the user to be in local control of the testing device which requires the technician to be located in the field with the testing device. Another shortfall of the Rotodata system is that the remote capability does not permit audio from the remote control location to be communicated to the testing device or the destination device thereby preventing the user from audio interaction with either of the devices. This limitation also prevents the user from testing services such as voice mail, call forwarding, call waiting, no answer transfer and messaging or any other service that can be verified through an interactive audio process. Yet another shortfall of the Rotodata system is that the remote control is implemented over an unsecured POTS line. Still yet another shortfall of the Rotodata system is that the system does not allow for individual call control of each remote unit. For example, the remote units will accept a 24 hour series of commands to run without master control such that the user will lose 24 hours of test if a test error occurs.

Therefore, a general object of the invention is a system for remotely testing a switch of a telecommunications network where audio received at the testing device is communicated to the remote control location whereby the user can verify the proper completion of the call, the audio quality, and the billing records.

Another object of the invention is a system for remotely testing a switch of a telecommunication network where audio from the remote control location is communicated to the testing device.

Yet another object of the invention is a system for remotely testing a switch of a telecommunication network where audio from the remote control location is communicated through the testing device to the destination device.

Still yet another object of the invention is a system for remotely testing a switch of a telecommunications network where such system is capable of centralized remote management of multiple testing devices and centralized remote testing of multiple switches.

A further object of the invention is to provide a system for remotely testing a switch of a telecommunications network where a communication link is established from a first testing device through a switch to a second testing device where the user at a remote control location has access to audio received at the first testing device and the second testing device.

Another general object of the invention is a system for remotely testing a telecommunications network wherein all network devices (“nodes”) or remote call processors (RCP) participating in the test are time synchronized with one another and events being tested and/or monitored for purposes of testing are time stamped whereby the user can verify the proper completion of the call.

Another general object of the invention is a system for remotely testing a telecommunications network the characteristics of an audio signal transmitted by one node and received at another are communicated to the remote control location whereby the user can verify the proper completion of the call and analyze the quality of the audio signal.

Another object of the invention is a system for remotely testing the transmission of data, such as audio, across a telecommunication network wherein the events involved in the transmission of data are time synchronized in response to a directive from the remote control location.

Yet another object of the invention is a system for remotely testing the transmission of data, such as audio, across a telecommunication network wherein the events involved in the transmission of data are time stamped in response to a directive from the remote control location.

Still yet another object of the invention is a system for remotely testing a telecommunications network where such system is capable of centralized remote management of multiple testing devices and centralized remote testing of multiple switches using time synchronization and time stamping.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of a first embodiment of the system of the present invention.

FIGS. 2A-2C are diagrams of the controller and the Remote Call Processor of the present invention.

FIG. 3 is a diagram of another embodiment of the system of the present invention.

FIGS. 4-13 are flow diagrams applicable to the first and second embodiments of the present invention.

FIG. 14 is a further embodiment of the system of the present invention for implementing time synchronization and time stamping.

FIG. 15 is an even further embodiment of the system of the present invention for implementing time synchronization and time stamping.

FIGS. 16 a-16 c illustrate the different time events that are measurable using time synchronization and time stamping in accordance with the present invention.

FIG. 17 a-17 d are flow diagrams applicable to the third and fourth embodiments of the present invention.

SUMMARY OF INVENTION

The present invention is a system for centrally and remotely testing switches of cellular and conventional telecommunications network wherein a controller located at a remote location establishes a communication link with a Remote Call Processor (RCP) and provides instructions to the RCP to thereby prompt the RCP to establish a communication link from the RCP through a switch to a destination device whereby audio from said destination device is communicated, by way of the switch and the RCP, to the controller in order to verify that the switch properly routed and billed the call. The destination device may be a service provided by such network or it may be another RCP.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is an illustration of one embodiment of the present invention. Referring to FIG. 1, the system of the present invention is a system for testing a switch 40 of a telecommunications network 50. In a preferred embodiment, the telecommunications network 50 is a cellular network comprised of multiple service areas 52 and 54. The system of the present invention includes one or more remote call processors (RCPs) 20, 30 and a controller 10. The RCPs 20, 30 include phone means for establishing a communication link from the RCP 20 through the calling area switch 40 to a destination device such that audio from the destination device is communicated to the RCP 20. The destination device may be a prerecorded voice mail box established by the service provider or, as further described below, another RCP 30, or any other device that assists in the verification of the operation of the switch 40.

The controller 10 is for remotely controlling operation of the RCP 20. The controller includes remote communication means for establishing a communication link between the controller 10 and the RCP 20 such that audio received at the RCP 20 will be communicated to the controller 10. The controller 10 also includes means for instructing the RCP 20 to initiate a phone call to the destination device. Functionally, an operator of the system prompts the controller 10 to establish a communication link between the controller 10 and the RCP 20 and instructs the RCP 20 to initiate a phone call to a selected destination device. In response to such instructions, the RCP 20 initiates a phone call to the destination device and establishes a communication link from the RCP 20 through the calling area switch 40′ to the destination device (not shown). In this way, audio from the destination device is communicated through the calling area switch 40 and the RCP 20 to the controller 10. The operator of the system can then evaluate the audio received at the controller 10 to determine if the calling area switch 40 properly connected the RCP 20 to the destination device. The operator may further determine if the calling area switch properly switched the call and billed for the call by reviewing the translation tables and billing records of the switch, which preferably would be accessible at the location of the controller 10.

In one embodiment, the destination device may be a voice mail service, a call waiting service, a call forwarding service, a no answer transfer service, a messaging service, a voice recognition service or any other of the types of services provided in such a network. In such a case, the destination device may prompt the user, through a pre-recorded voice, to select from a number of options through use of the telephone keypad. The pre-recorded voice would be forwarded to the RCP 20, and thus to the controller 10, for a response. The controller includes means for instructing the RCP 20 to respond to such queries. In this way, the operator may verify the proper operation of the switch 40 by verifying that the call was established from the RCP 20 to the correct destination device and that the 2-way audio transmission communicated from the RCP 20 through the switch 40 to the destination device was enabled. It will be appreciated by one of skill in the art that the destination device may be any type of device sufficient to verify that the communication link through switch 40 was properly established. Furthermore, the destination device may be located in another service area, another cellular network or the PSTN, as further described below. In another embodiment of the invention, the destination device may be a second or third wireless phone means located in the RCP 20, whereby upon being prompted by the controller 10, the RCP 20 establishes a communication link from a first phone means located in the RCP 20, through the calling area switch 40, to the second or third phone means located in the RCP 20. In another embodiment of the invention, the destination device may be a conventional phone means located in the RCP 20, whereby upon being prompted by the controller 10, the RCP 20 establishes a communication link from the wireless phone means located in the RCP 20, through the calling area switch 40, to a conventional phone means located in the RCP 20.

In another embodiment of the present invention, and with continued reference to FIG. 1, the destination device is a second RCP 30 that is in wireless communication with either the first service area 52 or a second service area 54 as shown. In this embodiment, the user prompts the controller to establish a communication link with RCP 20 and RCP 30. The controller then instructs the RCP 20 to initiate a phone call to RCP 30 and instructs RCP 30 to expect a phone call. In response to such instructions, the RCP 20 attempts to establish a communication link through calling area switch 40 and calling area switch 42 to RCP 30. If successful, the RCP 30 sends data to the controller indicating the successful completion of the call at which time the user may verify that the call was properly billed by referencing the billing records. If RCP 30 does not receive the call within a predetermined period of time, RCP 30 will send data to the controller indicating that the call has not been received, at which point the user may determine that one or more of the switches 40 and 42 did not properly route the call.

A successful call will establish a communication link, resembling a communication loop, from the controller 10, through RCP 20, calling area switch 40, calling area switch 42, and RCP 30 to the controller 10. As shown in FIG. 1, and as will be appreciated by one of skill in the art, the communication link between the controller 10 and RCPs 20 and 30 may be comprised of the PSTN 60. Also, the communication link between calling area switch 40 and calling area switch 42 may be comprised of leased lines that at other times may be considered part of the PSTN.

In the communication loop established with a successful call, the communication link between RCP 20 and RCP 30 is generally a conventional wireless telephone link capable of passing audio in either direction. The communication links 22 and 32 between the controller 10 and the RCPs 20 and 30, respectively, will be further described below. Generally, however, these communication links may be such that they either pass one-way audio or two-way audio depending upon the specific design chosen. Furthermore, the system may have two modes of operation, a non-audio mode and an audio mode. In the non-audio mode, non-audio control and status information may be passed between the controller and each of the RCPs. In this mode, audio is not used for call verification. Such control and status information may be any type of remote control and status information known in the art. In the non-audio mode, the controller will not receive or communicate audio.

In the audio mode, in addition to control and status information being passed between the controller and each of the RCPs, audio is also passed between the controller 10 and the RCPs 20 and 30. For the embodiment where communication links 22 and 32 are one-way audio, when the system is in the audio mode, audio received at RCP 20 is communicated to the controller over communication link 22 and audio generated at the controller 10 is communicated to RCP 30 over communication link 32. In this mode, audio generated at the controller will be communicated to RCP 30 over communication link 32; audio from RCP 30 will be communicated to RCP 20 through calling area switches 42 and 40; and audio from RCP 20 will be communicated to the controller 10 over communication link 22, thereby creating a one-way audio loop that begins and ends at the controller 10. While in audio mode, the operator can verify that audio is adequately passing from RCP 30 through the calling area switches to RCP 20 by communicating an audio signal from controller 10 over communication link 32 to RCP 30 and verifying that such signal is thereafter received at controller 10 over communication link 22.

In the preferred embodiment, the audio signal would be generated by the operator speaking into a microphone provided with the controller 10, or through a pre-recorded text or speech message which may include a text to speech function as will be appreciated by one of skill in the art, the details of which will be further discussed below, and the audio signal would be received by a speaker provided with the controller 10, thereby enabling the operator to verify the call by simply speaking into a microphone, or initiating the pre-recorded text or speech message, and listening to the speaker. In this embodiment, where the communication links 22 and 32 are such that only one-way audio is permitted, the controller 10 would be provided with an electronic switch controlled by software residing in the Controller 10, for reversing the path of the audio loop. By reversing the switch, audio from RCP 30 is communicated to the controller 10 over communication link 32 and audio from the controller is communicated to RCP 20 over communication link 22. In this embodiment, by reversing the switch, the audio signal generated at the controller 10 would be communicated to RCP 20 over communication link 22 and thereafter received at controller 10 over communication link 32. In this way, the user may quickly verify the proper operation of the switch 40 and the quality of the audio passing between the RCPs.

Communications links 22 and 32 and the means for communicating over such links may be any known means for remotely communicating between two devices over a telecommunications network. In one embodiment, the controller and the RCP 20 or 30 include modems and the communication links 22 and 32 are conventional phone lines or wireless communication links. In another embodiment, the communications links 22 and 32 may be comprised of the Internet and the controller 10 and the RCP 20 or 30 include voice-over-Internet means for communicating audio over the Internet. In the preferred embodiment, communications links 22 and 32 are an internal corporate intranet comprised of an Ethernet communication link where the controller 10 and the RCP 20 or 30 include an Ethernet card for passing data over an Intranet via an Ethernet communication link and include voice-over-Ethernet means for sending audio over the Ethernet Intranet communication link.

FIG. 2 is a diagram of the various embodiments of the controller and the RCP of the system of the present invention. Referring to FIG. 2 a, the controller 100 and the RCP 110 are shown. The controller 100 includes remote communication means for establishing a communication link between the controller 100 and the RCP 110. The remote communication means may be comprised of a conventional computer 102 with a modem 104 for establishing a communication link between the controller 100 and the RCP 110 over a conventional phone line normally associated with the PSTN 105 such that the controller 100 can communicate control instructions to the RCP 110 and such that audio can be passed between the RCP 110 and the controller 100. The modem 104 and the computer 102 may be any computer or modem known to one of skill in the art to enable such communication between the controller 100 and the RCP 110.

The controller 100 includes means for instructing the RCP 110 which essentially comprises the modem 104 and conventional software for generating and sending control instructions to the controller 110. Such software for generating such control instructions may be any conventional or known type of software used for remote communications between devices, which are generally known in the art. In the preferred embodiment, such software is comprised of a combination of Microsoft “visual basic” and Microsoft “C” software that are compiled to run on a standard Pentium based personal computer. Functionally, a user of the system would prompt the controller 100 to instruct the RCP 110 to initiate a call, whereby the controller 100 would establish a communication link with the RCP 110 and communicate control data over the communication link to the RCP 110.

The controller 100 may also include and A/D converter 106 for digitizing the analog voice received at the controller 100, whereafter such digitized voice may be stored in memory 108. Such memory 108 may be any memory known that is sufficient to store digital audio data.

With continued reference to FIG. 2 a, the RCP 20 includes a phone means 112, a processor 114, a modem 116, and memory 118. The phone means 112 may be a conventional phone or in the preferred embodiment the phone means would be a conventional cellular phone. The cellular phone may be capable of communicating in one or more of the types of wireless communication systems such as TDMA, CDMA, NMT, AMPS or GSM. The modem 116 enables the communication between the controller 100 and the RCP 110 and may be any type of modem available and generally known by one of skill in the art. In the preferred embodiment the processor 114 is a Pentium based processor, and the memory 118 may be of the type generally known to those skilled in the art that is sufficient to store digital audio data. The modem 116 receives and transmits commands and audio signals between the controller 100 and the processor 114. The processor 114 commands the phone 112 to place and receive calls and interrogates the phone 112 for basic information about the call which may include information related to the network performance of a particular call, and the duration of the call, etc. All information is then processed and sent back to the controller 100 for further interpretation and display to the user.

FIG. 2 b shows another embodiment of the controller 100 and the RCP 110 of the system of the present invention. In this embodiment, the communication link between the controller 100 and the RCP 110 is that of a private corporate intranet comprised of an Ethernet communication link over the Internet. In this embodiment the controller 100 and the RCP 110 each have an Ethernet Card 130. The RCP 110 further comprises means for digitizing audio received from a destination device. Such means may include an A/D and a D/A converter 111 for digitizing the analog audio received at the RCP 110 from the destination device and for analoging the digital audio received at the RCP 110 from the controller 100, if necessary. In this embodiment audio and control signals passed between the controller 100 and the RCP 110 are in a digital format and the audio received at the RCP 110 is readily stored in the memory 118 of the RCP 110 or the memory of the controller 100.

In the preferred embodiment, as shown in FIG. 2 c, the phone means 112 located in the RCP 110 comprises three wireless phones 120 and one or more conventional phones 122. In this embodiment, test calls may be placed between phones of different RCPs, as described earlier, or between phones of the same RCP 110. Additionally, calls may be placed by any one of the phones 112 to any other one of the phones. As a single call is place and received within the phone means 112, the audio and control associated with that call will be communicated over the Ethernet medium to the controller 100.

The RCP 110 may also include means for measuring the quality of the audio received at the RCP from the destination device. Such means would include any known means of measuring the signal strength, the signal to noise ratio and the clarity of the audio received.

FIG. 3 shows an illustration of the system of the present invention. Referring to FIG. 3, the system of the present invention as applied to various scenarios encountered in a broad network is shown. As shown therein, for broadest testing capability, an RCP is needed for each switch in the network, and in the event that a single switch covers multiple service areas, an RCP is needed for each service area. It will be appreciated by one of skill in the art that the system of the present invention enables testing of switches of multiple networks form a centralized remote location. As shown in FIG. 3, controller 200 provides central control of a broad number of RCPs (210, 220, 230, 240, 250 and 260) thereby enabling fast efficient testing of multiple switches throughout various cellular and land-line networks. Tests may be performed from any RCP to any destination device which includes tests from any RCP to any other RCP. In the preferred embodiment the system will have a script testing feature for testing a test call created by the user in order to ensure that the test call was created properly.

FIGS. 4-13 are flow charts illustrating the general functions of the software that resides in the controller 110. FIG. 4 illustrates the various mode options available to a user of the system and FIGS. 5-13 illustrate the flow diagrams of each of the individual modes. As stated above, the controller 110 in the preferred embodiment is comprised of a standard personal computer running the Microsoft Windows NT operating system. The controller functionality includes a methodology for managing calls (placing and receiving calls and sending and returning audio) in remote areas using one or more RCPs. The basic modes of the controller functionality are as follows: administration mode, login mode, buildingscripts mode, Run Mode, Schedule mode, results mode, interactive mode, maintenance mode, help mode and service step mode.

Administration mode includes a process of allocating user names and selecting passwords. By way of the main user or administrator, users will be assigned and passwords determined. Through a tiered authorization system each user will be assigned an authorization level providing varying access to controller functionality. These access levels are identified as level one, two, and three.

Login mode provides entry into the system by requesting a password from the user. It also may demand that the user, for further security, change his password after every three entries into the system.

The Build scripts mode allows for the building of test calls on the controller by way of the application specific software provided thereby offering the user an implicit method of creating most types of calls that can be presently made by wireless and landline subscribers today. These test calls are built by listing each of presently 12 commands in the order required to place a call as needed. These commands are further enhanced by additional user entries to select phones and mobile numbers to be used, selection of audio direction and RCP to be used, decision to record audio and for how long, whether or not to answer the terminating mobile, and others. As a part of this mode, the test calls can be tested for accuracy by selecting a call test function that will verify the proper coding of the new test call. Additionally, key words and functions within a test call can be modified automatically through a string search and replace command.

In the run mode, the test calls built in the build scripts mode are executed. In the run mode, each of the commands or test steps in the list are executed in sequence thereby allowing the test call to be managed by the appropriate RCP/s. In the scheduled mode, the test calls are executed according to a predetermined schedule. In either mode the test calls are performed identically. However, responses to some of the stimulus from the wireless network may be responded to differently between the two different modes. In run mode an error in placing a call is responded to by stopping the call execution and asking for user intervention. In scheduled mode the same error is noted and the very next test call is executed and the process continues. In scheduled mode additional structure is added to allow the user to place a time delay between each test call, eliminate predetermined phone numbers from being dialed, determine the numbers of times an erred call must be retried upon completion of the first full list completed, and stop the list of calls from being executed prematurely.

At the completion of all executed test calls the results of all test steps executed whether erred or not are stored in the controller's memory. The controller, in order to determine the performance of each call, parses the results. This performance rating is coded and stored with the results within the controller's memory. This storage includes all one way and two way audio messages received by the controller from the selected RCPs. These results are stored in a standard format so that any standard PC can read or further analyze them.

In the results mode, the user can display, analyze and manipulate the results of the test calls. In the interactive mode, the user can activate and use the feature allowing audio to be sent from the controller to the RCPs.

In system information mode the user is provided information about key aspect of the operating system status such as; Software and Hardware revision levels, display resolution, time and date. In the maintenance mode, the user may copy stored test call lists and result files to other areas in memory.

In the configure RCP mode the controller provides a means of configuring each RCP in the system and the inherent devices within each RCP. Here the RCP can be named, the cellular phones are configured for their new mobile numbers (NAMs), the cellular phones ESN can be read and the landline number can be inserted. RCPs can be added or deleted in this mode and the associated IP addresses for each RCP can be programmed into the RCP.

Service step mode provides the user an opportunity to create program steps to insert digits and delay between digits into a phone in a RCP. These can be created and named, to be drawn from the standard list of program steps provided in the build scripts mode.

In a further embodiment of the present invention, FIG. 14 illustrates the overall system of the present invention that implements time synchronization and time stamping. FIG. 14 is a variation of the system illustrated in FIG. 1. Therefore, except where specifically indicated, the elements of the present invention in FIG. 14 are the same as those in FIG. 1 and represent the same structures and operations. Specifically, the system for implementing time synchronization and time stamping incorporates access to an industry standard Network Time Protocol (NTP) time server 70 that can provide a known time standard by which all nodes in a test to be conducted, such as the RCPS 20,30 and the controller 10, synchronize their individual clocks or internal chronometers. The server 70 may be selected from any known or conventional service that provides a standard time base accessible on the Internet (such as the one provided by the National Institute of Standards and Technology—NIST) or through some other remote communications means (i.e., RF, GPS satellite). The server 70 may even be a standard time base provided internally by whoever is a party to the test to be conducted, such as the controller 10, the telecommunications network(s) in the test, the company or organization that controls the controller 10, etc. Depending on the time server used or selected, the individual nodes in the test would implement the appropriate communications link and protocols, as would be known in the art, to access the desired time base information.

In one implementation of the system of the present invention that uses time synchronization and time stamping, the controller 10 communicates with the RCPs 20, 30, the destination device, etc. instructing them to individually access the server 70 and thereby synchronize their internal clocks or chronometers. Alternatively, the controller 10 may also transmit a time base signal to the RCPs 20, 30 and other nodes that would then synchronize based on that time base signal.

Once each individual node in the test is synchronized, this allows each node to record a time stamp for all of the important events that occur as part of the test steps that are to be executed. These time stamps are used in the processing of the results to provide, for example, duration, occurrence/non-occurrence, etc. information for the test calls. The accuracy of these time stamps is critical, especially between the different test nodes involved in the test. For example, the duration for a test call from one node or RCP perspective may involve time stamps from 2 or more different nodes or RCPs. As events occur (i.e., a test call is initiated, a test call is received, the call terminated by either the originating device or the destination device, a test call is dropped), the individual nodes generate and record time stamps on the events that they experience. For example, the RCP 30 that initiates a test call will record a time stamp on when it dials the test call, when it terminates the test call, or when it detects that the test call has been prematurely terminated. A RCP 20 or other receiving device that receives a test call will time stamp when it receives the test call, when it terminates the test call or when it detects that the test call that it received has been terminated. Essentially, any event that originates, terminates or is received at a RCP or other node in the network is subject to being time-stamped.

In a similar variation of the system, FIG. 15 illustrates a variation of the system shown by FIG. 3. As noted for the previous embodiment, except where specifically indicated, the elements of the present invention in FIG. 15 are the same as those in FIG. 3 and represent the same structures and operations. Specifically, the system for implementing time synchronization and time stamping incorporates access to an industry standard Network Time Protocol (NTP) time server 270 that can provide a known time standard by which all nodes in a test to be conducted, such as the RCPS 210, 220, 230, 240 250 and 260 and the controller 200, synchronize their individual clocks or internal chronometers. Each of the RCPs will then time stamp all events that they individually experience. The controller 10, 200 can then access the time stamped event data recorded by each RCP and use that data to calculate and analyze various test and operation data.

Specifically, in the operation of the system of the present invention as illustrated in either FIG. 14 or 15, the time stamp information provided by the individual RCPs allows duration values of the test calls to be determined which improves the accuracy of the time information associated with any test call. This duration information is especially critical in monitoring mobile or cellular communications activity that can be performed by the RCPs. As will be explained further herein, the time stamp information allows more accurate analysis of when keypad functions, such as SEND and END are performed. Also, accurate values for time durations such as Talk Time and Air Time can be quantified. Such information has practical value in the operation of a telecommunications network. For example, measuring Talk Time versus Air Time (both of which are recorded with a resolution of 100 ms, for example) can result in more in more accurate billing procedures.

FIGS. 16 a-16 c illustrate how the use of time stamping can accurately record the occurrence of certain events in a telephone transmission (for example, in a mobile or cellular telephone system) that can then be used to characterize those events. In particular, FIG. 16 a shows how events such the SEND key pressed, END key pressed, Air Time and Talk Time are characterized over time using time stamping according to the present invention. In transmissions that involve either mobile or land-line connections, either originating, terminating or both, the events that would be characterized include Place Call, Answer Call and Hang Up. Mobile connections further involve events called Power Off and Close Out.

FIG. 16 b is another illustration for characterizing of the events over time with time stamping. In particular, FIG. 16 b shows how events such Traffic Channel Assigned, Control Channel Scan, Air Time and Talk Time are characterized with time stamping instead according to the present invention. In analyzing equipment usage ad how to properly bill the usage of the network, the differences measured by the use of different events in time stamping are significant.

FIG. 16 c illustrates the timing of events when a test call is “dropped” as a result of equipment failure, weak channel signal, etc. as compared to when a test call is terminated by the RCP or node that originated the call in FIG. 16 b. Again, time stamping allows the analysis of events that would otherwise could not be accurately characterized. As will be explained further hereinbelow, dropped calls are detected during the Run and Schedule modes. From the time that the originating device or RCP initiates a test call to the end of the test call, the originating device is monitored as being “up” so as to calculate the duration of the test call. If a call is dropped, the controller is able to determine that the call was dropped based on the time stamp information it receives from both the originating node or RCP and the terminating node or RCP. Specifically, if the time stamp of Control Channel Scan events for both the originating and terminating nodes or RCPs occur prior to a END key event, a dropped call occurrence is assumed.

In one application for using time stamping in testing a telecommunications network, referring to FIG. 14 as an example, the transmission of Short Message Service (SMS) signals to a destination device is tested by initiating SMS messages from RCP 30 to a mobile telephone in the test represented by RCP 20. The messages sent by RCP 30 received by RCP 20 during the test are captured and analyzed. The number of messages transmitted by RCP 30 and the time in which RCP 20 must be able to receive the messages may be varied by the controller 10. The controller may then use a Pass/Fail criteria to determine the results of the test. Specifically, the controller will determine whether messages are out of order, messages have been dropped or messages have been duplicated.

In another application, e-mail systems may be used to test the sending and receiving of messages with a node or RCP containing a mobile telephone. For example, a node or RCP will send an e-mail into the e-mail system or the e-mail system will send one or more e-mails into the mobile telephone. The controller then analyzes whether the transmission of the e-mail(s) occurred properly. The e-mail(s) being transmitted are generated and/or received by the controller such that the controller monitors and analyzes the characteristics of the e-mail and the message(s) received.

CDMA, TDMA and GSM capability are supported by the system in conducting this type of testing procedure. These capabilities will also be applicable to developing and future wireless technologies as would be understood by those of skill in the art.

In an even further embodiment of the present invention, audio analysis is conducted as part of the test call procedure or script, as will be further explained hereinbelow. Audio analysis is initialized with a set of “Expected Results” that would occur when a test call is placed by a RCP and that would be perceived at the originating node or RCP. The general categories of events with which the Expected Results would be associated include Place Call (Detect); Place Call (No Detect); Place Call (Other). Within those different events, the Expected Results associated with Place Call (Detect, which includes Do Not Answer) are Detected (default), Busy, Fast Busy, Voice, and Other. The Expected Results associated with Place Call (No Detect) and Place Call (Other) are Fax, Busy, Fast Busy, Voice (default), Ring, Test Tone, and Other. Further categories of Expected Results may be added as new network features are implemented. When the Place Call (Other) event is being tested, the telephone number being called is specified as a Mobile (M) or a Landline (L). Otherwise, the type of telephone number may be selected automatically by the RCP originating the test call based on a configuration specified by the controller. The configuration specified by the controller includes categorizing Place Call events as one of the following: Normal (Default); 3-way; CW (call waiting); CF (call forwarding); Voice Mail; and Operator.

When a test call script is in operation, the originating RCP will monitor for and detect audio signals generated by the telecommunication network in response to the test call. The RCP will then classify the detected audio signal as one of following: Busy; Fast Busy; Voice; Fax; Ring; Test Tone or Other. Further categories of audio classifications may also be added as new network features are brought into operation. Classification of an audio signal is based upon industry standards for classification. Classification of audio signals as Busy, Fast Busy or Ring will vary by operator and/or country. The RCPs are initially configured with the criteria to make those classifications prior to the operation of a test call script. That criteria may be based on industry known standards that describe the relevant audio signals by country, on user defined criteria or a combination of both.

As test calls are placed by the RCPs, the audio signals from or perceived by the originating RCP is analyzed. The RCPs are configured with the priority to detect Busy, Fast Busy, Voice or Fax signals. These types of signals are mutually exclusive as the presence or detection of one excludes the possibility of detecting any of the others in the same test call. As soon as one of these types of signals is detected, the state of the originating call is classified and the detection is complete, and other normal functions can progress (next test step, etc.). If none of these types of signals is detected within a predetermined time period, the state of the originating test call is set to Ring if it has been detected; otherwise, the state is set to Other.

When the state of the originating call is classified, a Pass/Fail determination is made based upon what was set in the Expected Result configuration, and the classification made by the originating node or RCP and/or the classification made by the terminating node or RCP (when analyzing a Place Call (Detect) event). The assignment of Pass/Fail is as follows in Table 1: TABLE 1 Expected Received at the Fast Test Manager Detected Busy Busy Voice Fax Ring Tone Other Detected (from terminating) Pass Fail Fail Fail N/A Fail N/A Fail (Not valid for Place Call (Other) and Place Call (No Detect)) Busy (from originating) and Fail Pass Fail Fail Fail Fail Fail Fail No Detect (from terminating)* Fast Busy (from originating) and Fail Fail Pass Fail Fail Fail Fail Fail No Detect (from terminating)* Voice (from originating) and Fail Fail Fail Pass Fail Fail Fail Fail No Detect (from terminating)* Fax (from originating) N/A Fail Fail Fail Pass Fail Fail Fail Ring (from originating) and Fail Fail Fail Fail Fail Pass Fail Fail No Detect (from terminating)* Test Tone (from originating) Fail Fail Fail Fail Fail Fail Pass Fail Other (from originating) and Fail Fail Fail Fail Fail Fail Fail Pass No Detect (from terminating)

FIGS. 17 a-17 d show flow diagrams that illustrate the additional features and operations implementing the time synchronization, time stamping and audio analysis of the present invention. In particular, FIG. 17 a illustrates a variation of FIG. 4, FIGS. 17 b and 17 c illustrate the additional modes shown by FIG. 17 a. FIG. 17 d illustrates a variation of FIG. 8.

In FIG. 17 a, the mode options further include an Access NTP Mode and an Audio Analysis Mode. FIG. 17 b shows that the Access NTP Mode consists of the individual RCPs or other nodes setting up the required information and protocols to access the selected NTP time server and thereby conduct synchronization. FIG. 17 c shows that the Audio Analysis Mode consists of setting up the audio parameters, such as the Expected Results (as discussed above), in conducting the audio analysis procedure.

In FIG. 17 d, in order to conduct time synchronization and time stamping, running a test script will automatically initiate a re-synchronization operation wherein the RCP(s) will access the NTP time server and re-synchronize accordingly. Every RCP in the test script is commanded to synchronize, but will not if they have synchronized within a predetermined time prior to being commanded to re-synchronize (e.g., within 15 minutes). When the synchronization is performed, the results generated by the test script will include data indicating whether the individual RCP has passed with the updated time or failed the re-synchronization with the appropriate failure message.

During the execution of the test script, the step-by-step execution of the test script and running of the test script under schedule mode, the RCP(s) are constantly monitoring for the occurrence of events that require time stamping and for events in which audio analysis may be performed. As such events occur, the RCP(s) time stamp and record their occurrences, and analyze audio data they receive according to the audio analysis procedure selected via the Audio Analysis mode. The controller then accumulates the results from the test script execution including the time stamp data generated by the RCP(s). In accumulating the results, the time stamp data and audio analysis are evaluated. During the execution of the test script or application under schedule mode, the system is actually conducting all the steps that occur during the run mode.

As the test script is running or thereafter, in accumulating results for display and/or memory, such results will be stored in a result file that will include the following information:

-   -   1. For Place Call test steps, the type of call is classified as         one of the following: M-L, M-M, L-M, L-L (M=mobile, L=land-line)     -   2. For Place Call test steps, the of type of service is         classified as one of the following: Normal, 3-way, CW (Call         Waiting), CF (Call forwarding), VM (Voice Mail) or OP (Operator)     -   3. Expected Results     -   4. Failure Reason (what call state is received from the         originating phone is the Place Call failed.)     -   5. Dropped Call indication         The operation of the system of the present invention in the         above-described further embodiments incorporating time         synchronization, time stamping, and audio analysis are otherwise         consistent with the operation of the first embodiments described         above. Using the result file generated during a test, a user         accessing the controller can analyze the operational         characteristics of the telecommunication network(s) being         tested.

While a preferred embodiment of the invention has been disclosed in detail, the invention is not to be limited thereby, but only by the following claims. 

1. A method of operating remote call processors to test telecommunications networks remotely from one or more test controllers, the method comprising: receiving time synchronization information at a remote call processor; synchronizing the remote call processor based on the received time synchronization information; receiving control signals at the remote call processor from a test controller, the remote call processor remotely located with respect to the test controller, the control signals indicative of at least one instruction to establish at least one test call; establishing the at least one test call from the remote call processor to a destination via at least a portion of a telecommunications network; receiving telecommunications signals at the remote call processor that are indicative of at least one characteristic of the test call; and transmitting test information from the remote call processor to the test controller, the test information indicative of at least one characteristic of the test call.
 2. The method of claim 1, further comprising: repeatedly receiving time synchronization information at a remote call processor; and repeatedly synchronizing the remote call processor based on the received time synchronization information.
 3. The method of claim 1 wherein receiving control signals at the remote call processor from a test controller includes receiving control signals at the remote call processor from the test controller via a communications channel that is different from the portion of the telecommunications network that is being tested.
 4. The method of claim 1 wherein establishing the at least one test call from the remote call processor to a destination via at least a portion of a telecommunications network includes establishing the at least one test call through a call area switch located in a service area in which the remote call processor is located.
 5. The method of claim 1 wherein establishing the at least one test call from the remote call processor to a destination via at least a portion of a telecommunications network includes establishing the at least one test call through a base station in a cell in which the remote call processor is located.
 6. The method of claim 1 wherein receiving telecommunications signals at the remote call processor that are indicative of at least one characteristic of the test call includes receiving audio from the destination at the remote call processor.
 7. The method of claim 6 wherein transmitting test information from the remote call processor to the test controller includes transmitting the audio received at the remote call processor to the test controller.
 8. The method of claim 1, further comprising: time stamping at least one event related to the test call at the remote call processor.
 9. The method of claim 1, further comprising: time stamping at least one event related to the test call at the destination wherein the destination is one of at least two phones that are part of the remote call processor.
 10. The method of claim 1 wherein transmitting test information from the remote call processor to the test controller includes transmitting test information from the remote call processor to the test controller that is indicative of a time duration of the test call for a phone of the remote call processor that places the test call.
 11. The method of claim 10 wherein transmitting test information from the remote call processor to the test controller includes transmitting test information from the remote call processor to the test controller that is indicative of a time duration of the test call for a destination phone of the remote call processor that receives the test call.
 12. The method of claim 1 wherein transmitting test information from the remote call processor to the test controller includes transmitting test information from the remote call processor to the test controller that is indicative of a time duration of the test call for the destination.
 13. A remote call processor operable to test telecommunications networks remotely from one or more test controllers, the remote call processor comprising: a first phone; a second phone; and a processor coupled to receive time synchronization information and control signals from a test controller that the remote call processor is remotely located from, the control signals indicative of instructions to establish test calls, and the processor configured to synchronize the remote call processor based on the received time synchronization information, and to establish the test calls from at least the first phone of the remote call processor to one or more destinations via at least a portion of a telecommunications network, to receive telecommunications signals that are indicative of at least one characteristic of the test call; and to transmit test information indicative of at least one characteristic of the test call from the remote call processor to the test controller.
 14. The remote call processor of claim 13 wherein the processor is configured to repeatedly synchronize the remote call processor based on the received time synchronization information.
 15. The remote call processor of claim 13 wherein the processor is coupled transmit test information via a communications channel that is different from the telecommunications network that is being tested.
 16. The remote call processor of claim 13 wherein the processor is configured to time stamp events related to the test call.
 17. The remote call processor of claim 13 wherein the processor is configured to time stamp at least one event related to the test call at the destination, and wherein the destination is the second phone of the remote call processor.
 18. The remote call processor of claim 13 wherein the processor is configured to transmit test information indicative of at least one characteristic of the test call in the form of audio received at the first phone of the remote call processor.
 19. The remote call processor of claim 13 wherein the processor is configured to transmit test information indicative of at least one characteristic of the test call in the form of a value indicative of a duration of the test call for the first phone, where the first phone placed the test call.
 20. The remote call processor of claim 13 wherein the processor is configured to transmit test information indicative of at least one characteristic of the test call in the form of a value indicative of a duration of the test call for the destination.
 21. The remote call processor of claim 13 wherein the processor is configured to transmit test information indicative of at least one characteristic of the test call in the form of a value indicative of a duration of the test call for the second phone, where the second phone received the test call.
 22. A method for remotely testing the proper functioning of a switch in a telecommunications network comprising: sending a control signal from a controller located at a remote user location, which is accessible to said telecommunications network, to a remote call processor (RCP) having at least one telephone, said remote call processor (RCP) located in a service area of said telecommunications network; receiving said control signal in said remote call processor (RCP); establishing a first communications link including said controller and said remote call processor (RCP); processing said control signal in said remote call processor (RCP) wherein said control signal includes instructions for establishing a test telephone call from said remote call processor (RCP) through a calling area switch located in said service area to a destination telecommunications device; establishing said test telephone call from said remote call processor (RCP) through said calling area switch to said destination telecommunications device; receiving in said remote call processor (RCP), telecommunications signals related to said test telephone call wherein said telecommunications signals include audio signals; and testing by said controller said telecommunications signals related to said test telephone call to verify proper operation of said calling area switch.
 23. The method of claim 22 wherein testing by said controller said telecommunications signals related to said test telephone call includes measuring said audio signals for audio quality.
 24. The method of claim 22 wherein establishing a first communications link including said controller and said remote call processor (RCP) is established via the Internet.
 25. The method of claim 22 wherein establishing a first communications link including said controller and said remote call processor (RCP) is established through a wireless portion of said telecommunications network.
 26. The method of claim 22 wherein establishing said test telephone call from said remote call processor (RCP) through said calling area switch to said destination telecommunications device is established through a wireless portion of said network.
 27. The method of claim 22, further comprising: interrogating said at least one telephone located in said remote call processor (RCP) for information regarding a call history for matching to billing records or translation records for said destination telecommunications device.
 28. The method of claim 22, further comprising: querying said controller with queries generated by said destination telecommunications device which are sent through said calling area switch and said remote call processor (RCP), and receiving responses to said queries from said controller via said remote call processor (RCP) and said calling area switch.
 29. The method of claim 28 wherein querying and receiving responses to said queries verifies a complete transmission of at least a portion of an audio portion of said audio signals in at least one direction.
 30. The method of claim 28 wherein querying and receiving responses to said queries verifies proper operation of a voicemail box.
 31. The method of claim 28, wherein querying and receiving responses to said queries verifies, using said audio signals, the proper operation of a function selected from the group consisting of call forwarding, call waiting, no answer transfer, voice recognition service, and messaging service.
 32. The method of claim 22 wherein establishing a first communications link including said remote call processor (RCP) and said controller includes establishing a secure communications link, and said test telephone call between said remote call processor (RCP) where said destination telecommunications device is a secure telephone call.
 33. The method of claim 22 wherein establishing said test telephone call from said remote call processor (RCP) through said calling area switch to said destination telecommunications device includes establishing said test telephone call from said remote call processor (RCP) through said calling area switch to a voicemail box.
 34. The method of claim 22 wherein establishing said test telephone call from said remote call processor (RCP) through said calling area switch to said destination telecommunications device includes establishing said test telephone call from said remote call processor (RCP) through said calling area switch to a second remote call processor.
 35. The method of claim 34 wherein said controller instructs said remote call processor (RCP) to establish said test call using said second remote call processor as said destination telecommunications device wherein if said second remote call processor does not receive said test call within a predetermined period of time, said second remote call processor will contact said controller indicating that said test call has not been received at said second remote call processor.
 36. A remote controller system for remotely testing at least one calling area switch of a calling area in a telecommunications network, said controller system comprising: a controller located remotely from said at least one calling area switch of said calling area, said controller being capable of generating, sending, receiving and processing audio signals or telecommunications data signals; a build script mode application stored in at least one memory and executed by said controller which builds test calls having at least said audio signals to test proper operation of said calling area switch; said build scripts mode application further including first commands for selecting a remote call processor (RCP), having at least one telephone, to place said test calls in said calling area through said calling area switch and second commands for recording said audio signals which are present in said test calls; a run mode application stored in at least one memory and executed by said controller for executing said first commands and said at least second commands; and a results mode application stored in at least one memory and executed by said controller to process, display, and store in a memory accessible to said controller, a result from said test calls.
 37. The remote controller system of claim 36, further comprising: a schedule mode application stored in at least one memory and executed by said controller to execute said test calls on a predetermined schedule.
 38. The remote controller system of claim 36, further comprising: a configure remote call processor (RCP) mode application stored in at least one memory and executed by said controller which may configure said at least one remote call processor (RCP) in said telecommunications system. 